#ifndef STUDENTMANAGERWIDGET_H
#define STUDENTMANAGERWIDGET_H

#include <QMainWindow>
#include "DbManger.h"
#include <QSqlError>
namespace Ui {
class StudentManagerWidget;
}

class StudentManagerWidget : public QMainWindow
{
    Q_OBJECT

public:
    explicit StudentManagerWidget(QWidget *parent = nullptr);
    ~StudentManagerWidget();

private slots:
    void on_pushButton_exit_clicked();//退出

    void on_pushButton_systemSetting_clicked();//系统设置

    void on_pushButton_alarmQuery_clicked();//警情查询

    void on_pushButton_testHelp_clicked();//调试帮助

    void on_pushButton_query_clicked();//查询

    void on_pushButton_reset_clicked();//重置

    void addClicked();//新增

    void on_pushButton_edit_clicked();//编辑

    void on_pushButton_delete_clicked();//删除

    void on_pushButton_refresh_clicked();//刷新

private:
    Ui::StudentManagerWidget *ui;
    DbManger* dbManger; // 数据库单例对象

    void initTable();      // 初始化表格
    void initDepartmentTree(); // 初始化部门树
    void loadUsers();      // 加载所有用户
    void loadUsersFromSql(const QString& sql); // 按SQL加载用户
    void editUser(int row); // 编辑用户
    void deleteUser(int row); // 删除用户
    void loadDataToTable();
    //创建数据库对象
    QSqlDatabase db;
    void initTableWidget();
    void refreshTable();
};

#endif // STUDENTMANAGERWIDGET_H
